<?php


namespace app\api\model;

use app\lib\exception\BannerMissException;
use think\Db;
use think\Model;
use think\Collection;

class Banner extends BaseModel
{
//    protected $table = 'category';
    // 关联函数 一对多
    public  function items(){
        return $this->hasMany('BannerItem','banner_id','id');
    }


    public static  function  getBannerById($id)
    {
        // 原生SQL
//        $result = Db::query('select * from banner_item where banner_id =?',[$id]);
//        return $result;
        //查询构造器
//        $resut = Db::table('banner_item')->where('banner_id','=',$id)->find();
//        $resut = Db::table('banner_item')->where('banner_id','=',$id)->select();
//         表达式、数组法、闭包
//        where('字段名','表达式','查询条件');
        /*   $resut = Db::table('banner_item')
   //            ->fetchSql()
               ->where(function ($query) use ($id){
               $query->where('banner_id','=',$id);
                })
               ->select();

       // 模型
           return $resut;*/

        $banner = self::with('items')->find($id);
        if (!$banner) {

            throw new BannerMissException();
        }
        $c = config('setting.img_prefix');
        return $banner;
    }
}
































